home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d970.lha / ADM / ARexx / HoleAdresse.tpl (.txt) < prev    next >
StarWriter Document  |  1993-06-23  |  3KB  |  67 lines

  1. /* $VER: Hole_Adresse.tpl V0.6 (23.6.93)
  2.    Makro fuer TextPlusProfessional.
  3.    Fragt in einem Requester nach dem zu suchenden Nachnamen und fuegt
  4.    wenn vorhanden die komplette Adresse in der aktuellen Zeile ein.
  5.    Wenn diese nicht gewuenscht wird, wird die naechste zutreffende Ad-
  6.    resse gesucht.
  7.    Es koennten auch Patterns benutzt werden, wie z.B. #? oder *
  8.    Written by Carsten Fulde  Fido: 2:2402/340.0
  9.           and Jan Gei
  10. ler    Fido: 2:2407/106.5
  11.    V0.5:  [cf]   Initial Release
  12.    V0.6:  [jan]  RESULT fix.
  13.                                                                     */
  14. ADDRESS 'TextPlus'
  15. OPTIONS RESULTS
  16. frage      = 'Bitte den Nachnamen eingeben:'
  17. RequestString frage
  18. if RESULT~="" then
  19.    WORT = RESULT
  20.    EXIT
  21. fst = 1                      /* Anfangsposition = 1 (= erste Adresse) */
  22. res = 0
  23. ADM.LASTNAME = WORT
  24. DO FOREVER                   /* Endlosschleife */
  25.    ADDRESS 'ADM.1'
  26.    SEARCH fst ADM            /* Eintrag suchen */
  27.    res = RESULT
  28.    IF res >-1 THEN DO        /* Rueckgabewert = Nummer der gefundenen
  29.                                 Adresse */
  30.       GETADDRESS RESAD       /* Adresse holen in Stemvariable RESAD   */
  31.       ADDRESS 'TextPlus'
  32.       frage   = 'Diesen hier Einfuegen - OK ?'
  33.       default = RESAD.FIRSTNAME RESAD.LASTNAME '-' RESAD.CITY
  34.       RequestString frage'\\'default
  35.       antwort = RESULT
  36.       IF antwort~='' THEN DO
  37.          InsertMode on
  38.          Type RESAD.FIRSTNAME RESAD.LASTNAME     /* Name einfuegen    */
  39.          CR
  40.          Type RESAD.ADDRESS1                     /* Adressfeld 1     */
  41.          CR
  42.          IF RESAD.ADDRESS2~="" THEN DO
  43.             Type RESAD.ADDRESS2
  44.             CR                                   /* Adressfeld 2     */
  45.          END;
  46.          Type RESAD.POSTCODE RESAD.CITY          /* PLZ Ort          */
  47.          EXIT                   /* ... und Programm verlassen         */
  48.          END
  49.       ELSE
  50.          fst = res + 1
  51.       END /* IF */
  52.    ELSE DO                   /* Fehler aufgetreten */
  53.       ADDRESS 'TextPlus'
  54.       frage = 'Folgender Fehler'
  55.       IF res=-1 THEN msg='        - Keiner mehr da -'
  56.       IF res=-2 THEN msg='      - AdressSpeicher leer -'
  57.       IF res=-3 THEN msg='     - Nicht genug Speicher -'
  58.       IF res=-4 THEN msg='    - Aufruf v.SEARCH falsch -'
  59.       IF res=-5 THEN msg='  - Interner Fehler in Search -'
  60.       IF res=-6 THEN msg='   - Kein Suchparam.in Stem -'
  61.       IF res=-7 THEN msg='     - SearchPos ungueltig -'
  62.       RequestString frage'\\'msg
  63.       EXIT
  64.       END
  65.    END  /* IF */
  66. END /* DO */
  67.